package com.carol.lmsbe.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.carol.lmsbe.dto.LaboratoryCreateRequest;
import com.carol.lmsbe.dto.LaboratoryDTO;
import com.carol.lmsbe.dto.LaboratoryQueryRequest;
import com.carol.lmsbe.dto.LaboratoryUpdateRequest;

import java.util.List;

/**
 * 实验室服务接口
 */
public interface LaboratoryService {

    /**
     * 获取实验室列表（分页）
     */
    Page<LaboratoryDTO> getLaboratoryList(LaboratoryQueryRequest request);

    /**
     * 根据ID获取实验室详情
     */
    LaboratoryDTO getLaboratoryById(Long id);

    /**
     * 创建实验室
     */
    LaboratoryDTO createLaboratory(LaboratoryCreateRequest request);

    /**
     * 更新实验室
     */
    LaboratoryDTO updateLaboratory(LaboratoryUpdateRequest request);

    /**
     * 删除实验室
     */
    void deleteLaboratory(Long id);

    /**
     * 获取所有启用的实验室
     */
    List<LaboratoryDTO> getAllActiveLaboratories();
}
